// DFS 实现指数型枚举
#include<bits/stdc++.h>
using namespace std;
int n=0;
int st[5];
// 0不选 1选 -1待定
void dfs(int dp)
{
	if(dp > n)
	{
		for(int i = 1; i <= n; i++)
			if(st[i] == 1) cout << i <<' ';
		
		cout <<'\n';
		return;
	}
	//第一层 选
	st[dp] = 1;
	dfs(dp+1);   //递归下一层
	st[dp] = -1; //退一步
	//不选
	st[dp] = 0;
	dfs(dp+1);
	st[dp] = -1;
	
	
	
}

int main()
{
	cin >> n;
	memset(st+1,-1,n);
	dfs(1);
	return 0;
}
